<html xmlns="http://www.w3.org/1999/xhtml">
<head>
 <title>LZXリファレンス baselist</title>
  <othercredit role="translator">
    <firstname>Atuo</firstname>
    <surname>Seki</surname>
        <contrib>2006/04/26　翻訳初版</contrib>
 </othercredit>
<link rel="STYLESHEET" type="text/css" href="./styles.css" /></head>
<body>

<!-- ===================================================================== -->
<!-- = XML information goes here                                         = -->
<!-- ===================================================================== -->
<lzelement title="Baselist">
    <lztier>Base Component</lztier>
    <lzcategory>View</lzcategory>
    <lzshortdesc>
        baselistitemsのグループを入れられます。
    </lzshortdesc>

    <lztag>base/baselist.xml</lztag>

</lzelement>

<p>このクラスは<classname>baselistitem</classname>s
の為のコンテナです。<classname>baselist</classname>
を使用するには、リスト項目を<classname>baselistitem</classname>
で作成しなければなりません。 また、デフォルトでは単一の選択をサポートします。
複数の選択（Shift＋クリックで範囲で選択、Ctrl＋クリックで任意に選択）を使用するには属性
<attribute>multiselect</attribute>の値をtrueにしてください。</p>

<p>リスト項目を入れるには以下のように宣言されると思われます。</p>

<example>
&lt;canvas height="100"&gt;
  &lt;baselist layout="axis:y;spacing:2"&gt;
    &lt;baselistitem height="15" width="25" bgcolor="${selected ? 0xffff00 : 0x0000ff}"/&gt;
    &lt;baselistitem height="15" width="50" bgcolor="${selected ? 0xffff00 : 0x0000ff}"/&gt;
    &lt;baselistitem height="15" width="100" bgcolor="${selected ? 0xffff00 : 0x0000ff}"/&gt;
  &lt;/baselist&gt;
  &lt;text y="70"&gt;Click bar to select it.&lt;/text&gt;
&lt;/canvas&gt;
</example>

<p>または、データからの表示</p>

<example>
&lt;canvas height="70"&gt;
 &lt;dataset name="items"&gt;
    &lt;item&gt;one&lt;/item&gt;
    &lt;item&gt;two&lt;/item&gt;
    &lt;item&gt;three&lt;/item&gt;
  &lt;/dataset&gt;

  &lt;class name="myitem" extends="baselistitem"
         bgcolor="${selected ? yellow : white}"&gt;
     &lt;attribute name="text" type="text"/&gt;
     &lt;method name="applydata" args="d"&gt;
         setAttribute('text', d);
     &lt;/method&gt;
     &lt;text text="${parent.text}"/&gt;
  &lt;/class&gt;

  &lt;baselist layout="axis:y; spacing:2"&gt;
    &lt;myitem datapath="items:/item/text()"/&gt;
  &lt;/baselist&gt;
  &lt;text y="70" &gt;Click on a number to select it.&lt;/text&gt;
 &lt;/canvas&gt;   
</example>

<h2>リストの最適化</h2>

<p>もしあなたのリストがdatapathからデータを取得するなら、
あなたが使用したいと思われる２つの最適化の方法があります。</p>

<dl>

<dt>pooling</dt>
<dd>もしあなたがリストを作成し表示した後データを変更するなら、属性
<code>dataoption="pooling"</code>に設定することができます。
poolingに関してはdatapathの<a href="datapath.html#attr-pooling">pooling</a>
の属性と<classname library="lz">リスト</classname>の中の例をご覧ください。</dd>

<dt>lazy</dt>
<dd>もしリストが大量のリスト項目で、全てのリスト項目が同じサイズ（例えば、スクロールリストかコンボボックス）
であるなら、あなたは属性dataoption="lazy"に設定すべきです。
lazyに関してはdatapathの<a　href="datapath.html#attr-replication">lazy replication</a>属性、
<classname>LzLazyReplicationManager</classname>および
<classname library="lz">リスト</classname>をご覧ください。</dd>
</dl>

</body>
</html>
<!-- * X_LZ_COPYRIGHT_BEGIN ***************************************************
* Copyright 2001-2004 Laszlo Systems, Inc.  All Rights Reserved.              *
* Use is subject to license terms.                                            *
* X_LZ_COPYRIGHT_END ****************************************************** -->
